
/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , user = require('./routes/user')
  , crawl = require('./routes/crawl')
  , http = require('http')
  , path = require('path')
  , ejs = require('ejs')
  , edm = require('./routes/edm');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view options', {layout: false});
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));


//app.configure('development', function(){
//    app.use(express.static(__dirname + '/public'));
//    app.use(express.errorHandler({dumpExceptions: true, showStack: true }));
//});

app.use('production', function(){
    var oneYear = 31557600000;
    app.use(express.static(path.join(__dirname, 'public'), { maxAge: oneYear }));
    app.use(express.errorHandler());
});


app.get('/', routes.index);
app.get('/users', user.list);
app.get('/crawl', crawl.show);
app.get('/nodedm/receive', edm.receive);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
